Skip to content

feat(model): add Atlas Cloud provider - #66

Open
binyangzhu000-sudo wants to merge 1 commit into
modstart-lib:mainfrom
binyangzhu000-sudo:codex/atlas-cloud-provider
Open

binyangzhu000-sudo wants to merge 1 commit into
modstart-lib:mainfrom
binyangzhu000-sudo:codex/atlas-cloud-provider

Conversation

@binyangzhu000-sudo

Copy link
Copy Markdown

Description

Adds Atlas Cloud as a first-class OpenAI-compatible model provider. The preset uses https://api.atlascloud.ai/v1/, which resolves through the existing runtime to /v1/chat/completions, and includes three currently available text models:

  • deepseek-ai/deepseek-v4-pro
  • deepseek-ai/deepseek-v4-flash
  • qwen/qwen3.5-flash

The integration reuses the existing OpenAI-compatible driver and provider artwork; no README, documentation, logo, sponsor, credits, or partner content was added.

Verification

  • npm install --package-lock=false --ignore-scripts
  • npx prettier --check src/module/Model/providers.ts src/module/Model/models.ts
  • npx vite build
  • focused runtime URL assertion: https://api.atlascloud.ai/v1/ -> https://api.atlascloud.ai/v1/chat/completions
  • live Atlas Cloud /v1/models: 121 models; all three presets confirmed
  • git diff --check

npx vue-tsc --noEmit is currently blocked by the repository project reference requiring an unbuilt src/config.d.ts. Building that reference also reports pre-existing project-wide type/dependency errors in unrelated Electron and dependency files.

Purpose

  • Bug fix
  • New Feature
  • Documentation
  • Other

ling-qian pushed a commit to ling-qian/aigcpanel that referenced this pull request Oct 5, 2026
把 TalkFlowCreate.vue 模板里的 02「AI 文案重构」整块搬到新子组件 TalkFlowRewritePanel.vue。
**纯重构**:行为 / 文案 / 样式一字未改,只把绑定改成显式接口。

边界(实测,口径 = data-step 开标签 → 匹配闭标签):
  · 批次 3 交付时文件 3,027 行;02 段 = 1648–1981(334 行),内容体 1649–1980 = 332 行
  · 内容最小缩进 16 → 左移 12,子组件基准 4
  · 结果:父组件 3,027 → 2,719 行(−308);git diff 仅 2 个 hunk,+24 / −332
    (import 1 行 / 块替换 332 → 24 行用法块)

接口(沿用批次 1/2/3 约定:可写走 defineModel、只读走 props、动作走 emits;子组件不再调 composable):
  · defineModel 5:useEmotionTags / useFillWords / showVersionCompare(boolean)·
    selectedFillWord(string)· customPauseSeconds(**string**,真源 ref("1.0"),别顺手改类型)
  · props 8:criticResult(any) / criticizing / fillWordList / genningVersions / rewriting /
    script / versions / versionStyles
  · emits 7:criticScript / rewriteScript / stopGeneration / insertFillWord /
    insertCustomPause / genVersions / useVersion(**带参 i: number**)
  · 与批次 3 的差别:**无模板 ref、无局部子组件** ⇒ 不需要 ref 载体

★ 跨批耦合点(已写进组件头注释):insertFillWord / insertCustomPause 的实现要读 **01 块的**
  <textarea> 模板 ref(scriptTextareaRef)。批次 3 用 sharedTemplateRefs 载体把那份 ref 保住;
  本批把「按钮」搬到了 02 子组件,但 ref 仍归 01 块 ⇒ 父组件侧载体一字不动,
  链路(按钮 → emit → 父组件函数 → 01 块 ref)完整。

搬运手法(写盘前 11 组断言,任一不符即抛错且**不写盘**):
  边界 7 条逐字节 / 332 行 / 最小缩进 16 / 事件清单【逐项相等】9 处 / v-model 清单【逐项相等】4 处 /
  模板 ref 恰 0 / 无多行事件属性 / ★**自由变量全集相等** 20 个 / 8 组改写命中数符合预期 /
  改写后复核(裸动作 0 · emit( 恰 8)/ 去缩进恰 4 / import 锚点唯一。
  ⚠️ 第 ⑦ 组断言当场抓到我脚本里 2 个**静默 bug**(都「不报错、只是少算一批」):
  ① 惰性量词 /v-for\s*=\s*"([^"]*?)"/g ⇒ m[0] 只匹配到 v-for=""、值恒空 ⇒ 别名全丢,
     i / iss / v 被误判成自由变量(20 → 污染的 23);
  ② \(? 没配 \)? ⇒ v-for="(iss, i) in x" 的别名恒取不到(i 紧贴 ),\s+ 匹配不上)。
  ⇒ 提取类正则用**贪婪 + 捕获组**并取 m[1];别名正则用 ([^)]*?) 并配 \)?。已固化 §G9 modstart-lib#66。

门禁耦合(先量化再动):21 个脚本读该 .vue;超集口径扫 **5,080 条字面量**(= 对照组);
  候选 1 脚本 / 2 条(e2e-v1.mjs 的 "评审脚本" / "评审发现")→ 逐条分类**均为运行时 DOM**
  (b.innerText.includes / document.body.innerText.includes)⇒ **0 条静态破点**。
  ⇒ 本批搬运**未改任何探针**;也因此**未做反向验证**(没有静态断言可变异)—— 不假装做过。
  (相邻的上一个提交 a2a6bcb 硬化了 p0-2chain 的 M-5 断言,与搬运无关,是为消除取证run里
    出现过的时序假红;见报告 §4③。)

验收:
  · npm run typecheck:5m51s、输出仅 npm 横幅、**零 vue-tsc 诊断**
  · 保真度:未格式化逐字符 **11385 == 11385(零归一化)** → L0 剥 style 末尾 ;(prettier 已剥 8 处)
    → L1(**建在 L0 之上**)全空白删除 **5080 == 5080** → L2 **5080 == 5080**。
    残余盲区 = 仅引号内空白差异(故只证「结构与内容未改」,字面量仍归各探针断言)。
    ⚠️ 归一化阶段必须**累积**(nows(strip(s))):第一版写成并列 ⇒ L1 报 5092 != 5090,
    看着像「prettier 动了非空白字符」,实际只差那 2 个分号。已固化 §G9 modstart-lib#67。
  · 静态探针(10 个,计数与批次 3 **完全一致**):r10-depth 41 · w2-guards 27 · p0-guards 65 ·
    r5-g 51 · r6-jkl 42 · r7 25 · nonet-b-disk 46 · r8-funnel 22 · r17-dead-ui 29 ·
    r12-payload-parity 27(FAIL 全 0)
  · 冒烟:yuge-parity 24/24(含 YG-06「插入停顿」控件)⇒ 新子组件在真机渲染出 02 块控件
  · 全量电池(default 档 · 55 段):**BATTERY-GREEN** —— 54/54 段 exit=0 · 1395 PASS / 0 FAIL ·
    pageErrors=0(与批次 3 基线 1395 PASS 逐位一致)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant